﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title>Class Set&lt;T&gt;
   </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content="Class Set&lt;T&gt;
   ">
    <meta name="generator" content="docfx 2.56.4.0">
    
    <link rel="shortcut icon" href="../favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="../toc.html">
    <meta property="docfx:tocrel" content="toc.html">
    
    
    
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              
              <a class="navbar-brand" href="../index.html">
                <img id="logo" class="svg" src="../logo.svg" alt="">
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="Wintellect.PowerCollections.Set`1">
  
  
  <h1 id="Wintellect_PowerCollections_Set_1" data-uid="Wintellect.PowerCollections.Set`1" class="text-break">Class Set&lt;T&gt;
  </h1>
  <div class="markdown level0 summary"><p>Set&lt;T&gt; is a collection that contains items of type T.
The item are maintained in a haphazard, unpredictable order, and duplicate items are not allowed.</p>
</div>
  <div class="markdown level0 conceptual"></div>
  <div class="inheritance">
    <h5>Inheritance</h5>
    <div class="level0"><span class="xref">System.Object</span></div>
    <div class="level1"><a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html">CollectionBase</a>&lt;T&gt;</div>
    <div class="level2"><span class="xref">Set&lt;T&gt;</span></div>
  </div>
  <div classs="implements">
    <h5>Implements</h5>
    <div><span class="xref">System.Collections.ICollection</span></div>
    <div><span class="xref">System.Collections.Generic.ICollection</span>&lt;T&gt;</div>
    <div><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;T&gt;</div>
    <div><span class="xref">System.Collections.IEnumerable</span></div>
    <div><span class="xref">System.ICloneable</span></div>
  </div>
  <div class="inheritedMembers">
    <h5>Inherited Members</h5>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_ToString">CollectionBase&lt;T&gt;.ToString()</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_CopyTo__0___System_Int32_">CollectionBase&lt;T&gt;.CopyTo(T[], Int32)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_ToArray">CollectionBase&lt;T&gt;.ToArray()</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_System_Collections_Generic_ICollection_T__IsReadOnly">CollectionBase&lt;T&gt;.ICollection&lt;T&gt;.IsReadOnly</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_AsReadOnly">CollectionBase&lt;T&gt;.AsReadOnly()</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_Exists_System_Predicate__0__">CollectionBase&lt;T&gt;.Exists(Predicate&lt;T&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_TrueForAll_System_Predicate__0__">CollectionBase&lt;T&gt;.TrueForAll(Predicate&lt;T&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_CountWhere_System_Predicate__0__">CollectionBase&lt;T&gt;.CountWhere(Predicate&lt;T&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_FindAll_System_Predicate__0__">CollectionBase&lt;T&gt;.FindAll(Predicate&lt;T&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_RemoveAll_System_Predicate__0__">CollectionBase&lt;T&gt;.RemoveAll(Predicate&lt;T&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_ForEach_System_Action__0__">CollectionBase&lt;T&gt;.ForEach(Action&lt;T&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_ConvertAll__1_System_Converter__0___0__">CollectionBase&lt;T&gt;.ConvertAll&lt;TOutput&gt;(Converter&lt;T, TOutput&gt;)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_CopyTo_System_Array_System_Int32_">CollectionBase&lt;T&gt;.ICollection.CopyTo(Array, Int32)</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_IsSynchronized">CollectionBase&lt;T&gt;.ICollection.IsSynchronized</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_System_Collections_ICollection_SyncRoot">CollectionBase&lt;T&gt;.ICollection.SyncRoot</a>
    </div>
    <div>
      <a class="xref" href="Wintellect.PowerCollections.CollectionBase-1.html#Wintellect_PowerCollections_CollectionBase_1_System_Collections_IEnumerable_GetEnumerator">CollectionBase&lt;T&gt;.IEnumerable.GetEnumerator()</a>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.Equals(System.Object, System.Object)</span>
    </div>
    <div>
      <span class="xref">System.Object.GetHashCode()</span>
    </div>
    <div>
      <span class="xref">System.Object.GetType()</span>
    </div>
    <div>
      <span class="xref">System.Object.MemberwiseClone()</span>
    </div>
    <div>
      <span class="xref">System.Object.ReferenceEquals(System.Object, System.Object)</span>
    </div>
  </div>
  <h6><strong>Namespace</strong>: <a class="xref" href="Wintellect.PowerCollections.html">Wintellect.PowerCollections</a></h6>
  <h6><strong>Assembly</strong>: CADability.dll</h6>
  <h5 id="Wintellect_PowerCollections_Set_1_syntax">Syntax</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">[Serializable]
public class Set&lt;T&gt; : CollectionBase&lt;T&gt;, ICollection, ICollection&lt;T&gt;, IEnumerable&lt;T&gt;, IEnumerable, ICloneable</code></pre>
  </div>
  <h5 class="typeParameters">Type Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="parametername">T</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_remarks"><strong>Remarks</strong></h5>
  <div class="markdown level0 remarks"><p>The items are compared in one of two ways. If T implements IComparable&lt;T> 
then the Equals method of that interface will be used to compare items, otherwise the Equals
method from Object will be used. Alternatively, an instance of IComparer&lt;T> can be passed
to the constructor to use to compare items.</p>
<p>Set is implemented as a hash table. Inserting, deleting, and looking up an
an element all are done in approximately constant time, regardless of the number of items in the Set.</p>
</div>
  <h3 id="constructors">Constructors
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1__ctor.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.%23ctor%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L44">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1__ctor_" data-uid="Wintellect.PowerCollections.Set`1.#ctor*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1__ctor" data-uid="Wintellect.PowerCollections.Set`1.#ctor">Set()</h4>
  <div class="markdown level1 summary"><p>Creates a new Set. The Equals method and GetHashCode method on T
will be used to compare items for equality.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public Set()</code></pre>
  </div>
  <h5 id="Wintellect_PowerCollections_Set_1__ctor_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Items that are null are permitted, and will be sorted before all other items.</p>
</div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1__ctor_System_Collections_Generic_IEnumerable__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.%23ctor(System.Collections.Generic.IEnumerable%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L71">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1__ctor_" data-uid="Wintellect.PowerCollections.Set`1.#ctor*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1__ctor_System_Collections_Generic_IEnumerable__0__" data-uid="Wintellect.PowerCollections.Set`1.#ctor(System.Collections.Generic.IEnumerable{`0})">Set(IEnumerable&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Creates a new Set. The Equals method and GetHashCode method on T
will be used to compare items for equality.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public Set(IEnumerable&lt;T&gt; collection)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;T&gt;</td>
        <td><span class="parametername">collection</span></td>
        <td><p>A collection with items to be placed into the Set.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1__ctor_System_Collections_Generic_IEnumerable__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Items that are null are permitted.</p>
</div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1__ctor_System_Collections_Generic_IEnumerable__0__System_Collections_Generic_IEqualityComparer__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.%23ctor(System.Collections.Generic.IEnumerable%7B%600%7D%2CSystem.Collections.Generic.IEqualityComparer%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L83">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1__ctor_" data-uid="Wintellect.PowerCollections.Set`1.#ctor*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1__ctor_System_Collections_Generic_IEnumerable__0__System_Collections_Generic_IEqualityComparer__0__" data-uid="Wintellect.PowerCollections.Set`1.#ctor(System.Collections.Generic.IEnumerable{`0},System.Collections.Generic.IEqualityComparer{`0})">Set(IEnumerable&lt;T&gt;, IEqualityComparer&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Creates a new Set. The Equals and GetHashCode method of the passed comparer object
will be used to compare items in this set. The set is
initialized with all the items in the given collection.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public Set(IEnumerable&lt;T&gt; collection, IEqualityComparer&lt;T&gt; equalityComparer)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;T&gt;</td>
        <td><span class="parametername">collection</span></td>
        <td><p>A collection with items to be placed into the Set.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEqualityComparer</span>&lt;T&gt;</td>
        <td><span class="parametername">equalityComparer</span></td>
        <td><p>An instance of IEqualityComparer&lt;T&gt; that will be used to compare items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1__ctor_System_Collections_Generic_IEqualityComparer__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.%23ctor(System.Collections.Generic.IEqualityComparer%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L54">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1__ctor_" data-uid="Wintellect.PowerCollections.Set`1.#ctor*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1__ctor_System_Collections_Generic_IEqualityComparer__0__" data-uid="Wintellect.PowerCollections.Set`1.#ctor(System.Collections.Generic.IEqualityComparer{`0})">Set(IEqualityComparer&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Creates a new Set. The Equals and GetHashCode method of the passed comparer object
will be used to compare items in this set.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public Set(IEqualityComparer&lt;T&gt; equalityComparer)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEqualityComparer</span>&lt;T&gt;</td>
        <td><span class="parametername">equalityComparer</span></td>
        <td><p>An instance of IEqualityComparer&lt;T&gt; that will be used to compare items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="properties">Properties
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_Comparer.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.Comparer%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L178">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_Comparer_" data-uid="Wintellect.PowerCollections.Set`1.Comparer*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_Comparer" data-uid="Wintellect.PowerCollections.Set`1.Comparer">Comparer</h4>
  <div class="markdown level1 summary"><p>Returns the IEqualityComparer&lt;T&gt; used to compare items in this set.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public IEqualityComparer&lt;T&gt; Comparer { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEqualityComparer</span>&lt;T&gt;</td>
        <td><p>If the set was created using a comparer, that comparer is returned. Otherwise
the default comparer for T (EqualityComparer&lt;T&gt;.Default) is returned.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_Count.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.Count%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L191">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_Count_" data-uid="Wintellect.PowerCollections.Set`1.Count*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_Count" data-uid="Wintellect.PowerCollections.Set`1.Count">Count</h4>
  <div class="markdown level1 summary"><p>Returns the number of items in the set.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override sealed int Count { get; }</code></pre>
  </div>
  <h5 class="propertyValue">Property Value</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><p>The number of items in the set.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">Wintellect.PowerCollections.CollectionBase&lt;T&gt;.Count</span></div>
  <h5 id="Wintellect_PowerCollections_Set_1_Count_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>The size of the set is returned in constant time.</p>
</div>
  <h3 id="methods">Methods
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_Add__0_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.Add(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L278">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_Add_" data-uid="Wintellect.PowerCollections.Set`1.Add*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_Add__0_" data-uid="Wintellect.PowerCollections.Set`1.Add(`0)">Add(T)</h4>
  <div class="markdown level1 summary"><p>Adds a new item to the set. If the set already contains an item equal to
<code data-dev-comment-type="paramref" class="paramref">item</code>, that item is replaced with <code data-dev-comment-type="paramref" class="paramref">item</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool Add(T item)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">item</span></td>
        <td><p>The item to add to the set.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the set already contained an item equal to <code data-dev-comment-type="paramref" class="paramref">item</code> (which was replaced), false
otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_Add__0__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Equality between items is determined by the comparison instance or delegate used
to create the set.</p>
<p>Adding an item takes approximately constant time, regardless of the number of items in the set.</p>
</div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_AddMany_System_Collections_Generic_IEnumerable__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.AddMany(System.Collections.Generic.IEnumerable%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L310">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_AddMany_" data-uid="Wintellect.PowerCollections.Set`1.AddMany*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_AddMany_System_Collections_Generic_IEnumerable__0__" data-uid="Wintellect.PowerCollections.Set`1.AddMany(System.Collections.Generic.IEnumerable{`0})">AddMany(IEnumerable&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Adds all the items in <code data-dev-comment-type="paramref" class="paramref">collection</code> to the set. If the set already contains an item equal to
one of the items in <code data-dev-comment-type="paramref" class="paramref">collection</code>, that item will be replaced.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void AddMany(IEnumerable&lt;T&gt; collection)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;T&gt;</td>
        <td><span class="parametername">collection</span></td>
        <td><p>A collection of items to add to the set.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_AddMany_System_Collections_Generic_IEnumerable__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Equality between items is determined by the comparison instance or delegate used
to create the set.</p>
<p>Adding the collection takes time O(M), where M is the 
number of items in <code data-dev-comment-type="paramref" class="paramref">collection</code>.</p>
</div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_Clear.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.Clear%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L382">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_Clear_" data-uid="Wintellect.PowerCollections.Set`1.Clear*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_Clear" data-uid="Wintellect.PowerCollections.Set`1.Clear">Clear()</h4>
  <div class="markdown level1 summary"><p>Removes all items from the set.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override sealed void Clear()</code></pre>
  </div>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">Wintellect.PowerCollections.CollectionBase&lt;T&gt;.Clear()</span></div>
  <h5 id="Wintellect_PowerCollections_Set_1_Clear_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Clearing the set takes a constant amount of time, regardless of the number of items in it.</p>
</div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_Clone.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.Clone%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L124">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_Clone_" data-uid="Wintellect.PowerCollections.Set`1.Clone*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_Clone" data-uid="Wintellect.PowerCollections.Set`1.Clone">Clone()</h4>
  <div class="markdown level1 summary"><p>Makes a shallow clone of this set; i.e., if items of the
set are reference types, then they are not cloned. If T is a value type,
then each element is copied as if by simple assignment.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public Set&lt;T&gt; Clone()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><p>The cloned set.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_Clone_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Cloning the set takes time O(N), where N is the number of items in the set.</p>
</div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_CloneContents.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.CloneContents%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L140">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_CloneContents_" data-uid="Wintellect.PowerCollections.Set`1.CloneContents*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_CloneContents" data-uid="Wintellect.PowerCollections.Set`1.CloneContents">CloneContents()</h4>
  <div class="markdown level1 summary"><p>Makes a deep clone of this set. A new set is created with a clone of
each element of this set, by calling ICloneable.Clone on each element. If T is
a value type, then each element is copied as if by simple assignment.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public Set&lt;T&gt; CloneContents()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><p>The cloned set.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_CloneContents_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>If T is a reference type, it must implement
    ICloneable. Otherwise, an InvalidOperationException is thrown.</p>
<p>Cloning the set takes time O(N), where N is the number of items in the set.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>T is a reference type that does not implement ICloneable.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_Contains__0_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.Contains(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L224">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_Contains_" data-uid="Wintellect.PowerCollections.Set`1.Contains*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_Contains__0_" data-uid="Wintellect.PowerCollections.Set`1.Contains(`0)">Contains(T)</h4>
  <div class="markdown level1 summary"><p>Determines if this set contains an item equal to <code data-dev-comment-type="paramref" class="paramref">item</code>. The set
is not changed.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override sealed bool Contains(T item)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">item</span></td>
        <td><p>The item to search for.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the set contains <code data-dev-comment-type="paramref" class="paramref">item</code>. False if the set does not contain <code data-dev-comment-type="paramref" class="paramref">item</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">Wintellect.PowerCollections.CollectionBase&lt;T&gt;.Contains(T)</span></div>
  <h5 id="Wintellect_PowerCollections_Set_1_Contains__0__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Searching the set for an item takes approximately constant time, regardless of the number of items in the set.</p>
</div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_ContainsAll_System_Collections_Generic_IEnumerable__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.ContainsAll(System.Collections.Generic.IEnumerable%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L230">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_ContainsAll_" data-uid="Wintellect.PowerCollections.Set`1.ContainsAll*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_ContainsAll_System_Collections_Generic_IEnumerable__0__" data-uid="Wintellect.PowerCollections.Set`1.ContainsAll(System.Collections.Generic.IEnumerable{`0})">ContainsAll(IEnumerable&lt;T&gt;)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool ContainsAll(IEnumerable&lt;T&gt; collection)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;T&gt;</td>
        <td><span class="parametername">collection</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_Difference_Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.Difference(Wintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L718">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_Difference_" data-uid="Wintellect.PowerCollections.Set`1.Difference*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_Difference_Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.Difference(Wintellect.PowerCollections.Set{`0})">Difference(Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Computes the difference of this set with another set. The difference of these two sets
is all items that appear in this set, but not in <code data-dev-comment-type="paramref" class="paramref">otherSet</code>. A new set is
created with the difference of the sets and is returned. This set and the other set
are unchanged.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public Set&lt;T&gt; Difference(Set&lt;T&gt; otherSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">otherSet</span></td>
        <td><p>Set to difference with.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><p>The difference of the two sets.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_Difference_Wintellect_PowerCollections_Set__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>The difference of two sets is computed in time O(N), where N is the size of the smaller set.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>This set and <code data-dev-comment-type="paramref" class="paramref">otherSet</code> don't use the same method for comparing items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_DifferenceWith_Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.DifferenceWith(Wintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L684">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_DifferenceWith_" data-uid="Wintellect.PowerCollections.Set`1.DifferenceWith*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_DifferenceWith_Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.DifferenceWith(Wintellect.PowerCollections.Set{`0})">DifferenceWith(Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Computes the difference of this set with another set. The difference of these two sets
is all items that appear in this set, but not in <code data-dev-comment-type="paramref" class="paramref">otherSet</code>. This set receives
the difference of the two sets; the other set is unchanged.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void DifferenceWith(Set&lt;T&gt; otherSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">otherSet</span></td>
        <td><p>Set to difference with.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_DifferenceWith_Wintellect_PowerCollections_Set__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>The difference of two sets is computed in time O(N), where N is the size of the smaller set.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>This set and <code data-dev-comment-type="paramref" class="paramref">otherSet</code> don't use the same method for comparing items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_GetAndRemoveAny.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.GetAndRemoveAny%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L818">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_GetAndRemoveAny_" data-uid="Wintellect.PowerCollections.Set`1.GetAndRemoveAny*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_GetAndRemoveAny" data-uid="Wintellect.PowerCollections.Set`1.GetAndRemoveAny">GetAndRemoveAny()</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public T GetAndRemoveAny()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_GetAny.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.GetAny%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L814">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_GetAny_" data-uid="Wintellect.PowerCollections.Set`1.GetAny*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_GetAny" data-uid="Wintellect.PowerCollections.Set`1.GetAny">GetAny()</h4>
  <div class="markdown level1 summary"><p>Returns an arbitrary object or null if there is none</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public T GetAny()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_GetEnumerator.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.GetEnumerator%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L212">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_GetEnumerator_" data-uid="Wintellect.PowerCollections.Set`1.GetEnumerator*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_GetEnumerator" data-uid="Wintellect.PowerCollections.Set`1.GetEnumerator">GetEnumerator()</h4>
  <div class="markdown level1 summary"><p>Returns an enumerator that enumerates all the items in the set.
The items are enumerated in sorted order.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override sealed IEnumerator&lt;T&gt; GetEnumerator()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerator</span>&lt;T&gt;</td>
        <td><p>An enumerator for enumerating all the items in the Set.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">Wintellect.PowerCollections.CollectionBase&lt;T&gt;.GetEnumerator()</span></div>
  <h5 id="Wintellect_PowerCollections_Set_1_GetEnumerator_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Typically, this method is not called directly. Instead the &quot;foreach&quot; statement is used
to enumerate the items, which uses this method implicitly.</p>
<p>If an item is added to or deleted from the set while it is being enumerated, then 
the enumeration will end with an InvalidOperationException.</p>
<p>Enumerating all the items in the set takes time O(N), where N is the number
of items in the set.</p>
</div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_Intersection_Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.Intersection(Wintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L651">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_Intersection_" data-uid="Wintellect.PowerCollections.Set`1.Intersection*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_Intersection_Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.Intersection(Wintellect.PowerCollections.Set{`0})">Intersection(Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Computes the intersection of this set with another set. The intersection of two sets
is all items that appear in both of the sets. A new set is
created with the intersection of the sets and is returned. This set and the other set
are unchanged.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public Set&lt;T&gt; Intersection(Set&lt;T&gt; otherSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">otherSet</span></td>
        <td><p>Set to intersection with.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><p>The intersection of the two sets.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_Intersection_Wintellect_PowerCollections_Set__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>When equal items appear in both sets, the intersection will include an arbitrary choice of one of the
two equal items.</p>
<p>The intersection of two sets is computed in time O(N), where N is the size of the smaller set.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>This set and <code data-dev-comment-type="paramref" class="paramref">otherSet</code> don't use the same method for comparing items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_IntersectionWith_Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.IntersectionWith(Wintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L610">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_IntersectionWith_" data-uid="Wintellect.PowerCollections.Set`1.IntersectionWith*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_IntersectionWith_Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.IntersectionWith(Wintellect.PowerCollections.Set{`0})">IntersectionWith(Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Computes the intersection of this set with another set. The intersection of two sets
is all items that appear in both of the sets. This set receives
the intersection of the two sets, the other set is unchanged.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void IntersectionWith(Set&lt;T&gt; otherSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">otherSet</span></td>
        <td><p>Set to intersection with.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_IntersectionWith_Wintellect_PowerCollections_Set__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>When equal items appear in both sets, the intersection will include an arbitrary choice of one of the
two equal items.</p>
<p>The intersection of two sets is computed in time O(N), where N is the size of the smaller set.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>This set and <code data-dev-comment-type="paramref" class="paramref">otherSet</code> don't use the same method for comparing items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_IsDisjointFrom_Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.IsDisjointFrom(Wintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L523">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_IsDisjointFrom_" data-uid="Wintellect.PowerCollections.Set`1.IsDisjointFrom*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_IsDisjointFrom_Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.IsDisjointFrom(Wintellect.PowerCollections.Set{`0})">IsDisjointFrom(Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Determines if this set is disjoint from another set. Two sets are disjoint
if no item from one set is equal to any item in the other set.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsDisjointFrom(Set&lt;T&gt; otherSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">otherSet</span></td>
        <td><p>Set to check disjointness with.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the two sets are disjoint, false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_IsDisjointFrom_Wintellect_PowerCollections_Set__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>The answer is computed in time O(N), where N is the size of the smaller set.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>This set and <code data-dev-comment-type="paramref" class="paramref">otherSet</code> don't use the same method for comparing items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_IsEmpty.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.IsEmpty%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L825">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_IsEmpty_" data-uid="Wintellect.PowerCollections.Set`1.IsEmpty*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_IsEmpty" data-uid="Wintellect.PowerCollections.Set`1.IsEmpty">IsEmpty()</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsEmpty()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_IsEqualTo_Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.IsEqualTo(Wintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L495">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_IsEqualTo_" data-uid="Wintellect.PowerCollections.Set`1.IsEqualTo*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_IsEqualTo_Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.IsEqualTo(Wintellect.PowerCollections.Set{`0})">IsEqualTo(Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Determines if this set is equal to another set. This set is equal to
<code data-dev-comment-type="paramref" class="paramref">otherSet</code> if they contain the same items.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsEqualTo(Set&lt;T&gt; otherSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">otherSet</span></td>
        <td><p>Set to compare to</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if this set is equal to <code data-dev-comment-type="paramref" class="paramref">otherSet</code>, false otherwise.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_IsEqualTo_Wintellect_PowerCollections_Set__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>IsEqualTo is computed in time O(N), where N is the number of items in
this set.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>This set and <code data-dev-comment-type="paramref" class="paramref">otherSet</code> don't use the same method for comparing items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_IsProperSubsetOf_Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.IsProperSubsetOf(Wintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L481">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_IsProperSubsetOf_" data-uid="Wintellect.PowerCollections.Set`1.IsProperSubsetOf*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_IsProperSubsetOf_Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.IsProperSubsetOf(Wintellect.PowerCollections.Set{`0})">IsProperSubsetOf(Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Determines if this set is a proper subset of another set. Neither set is modified.
This set is a subset of <code data-dev-comment-type="paramref" class="paramref">otherSet</code> if every element in this set
is also in <code data-dev-comment-type="paramref" class="paramref">otherSet</code>. Additionally, this set must have strictly
fewer items than <code data-dev-comment-type="paramref" class="paramref">otherSet</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsProperSubsetOf(Set&lt;T&gt; otherSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">otherSet</span></td>
        <td><p>Set to compare to.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if this is a proper subset of <code data-dev-comment-type="paramref" class="paramref">otherSet</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_IsProperSubsetOf_Wintellect_PowerCollections_Set__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>IsProperSubsetOf is computed in time O(N), where N is the size of the this set.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>This set and <code data-dev-comment-type="paramref" class="paramref">otherSet</code> don't use the same method for comparing items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_IsProperSupersetOf_Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.IsProperSupersetOf(Wintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L447">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_IsProperSupersetOf_" data-uid="Wintellect.PowerCollections.Set`1.IsProperSupersetOf*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_IsProperSupersetOf_Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.IsProperSupersetOf(Wintellect.PowerCollections.Set{`0})">IsProperSupersetOf(Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Determines if this set is a proper superset of another set. Neither set is modified.
This set is a proper superset of <code data-dev-comment-type="paramref" class="paramref">otherSet</code> if every element in
<code data-dev-comment-type="paramref" class="paramref">otherSet</code> is also in this set.
Additionally, this set must have strictly more items than <code data-dev-comment-type="paramref" class="paramref">otherSet</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsProperSupersetOf(Set&lt;T&gt; otherSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">otherSet</span></td>
        <td><p>Set to compare to.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if this is a proper superset of <code data-dev-comment-type="paramref" class="paramref">otherSet</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_IsProperSupersetOf_Wintellect_PowerCollections_Set__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>IsProperSubsetOf is computed in time O(M), where M is the size of
<code data-dev-comment-type="paramref" class="paramref">otherSet</code>.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>This set and <code data-dev-comment-type="paramref" class="paramref">otherSet</code> don't use the same method for comparing items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_IsSubsetOf_Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.IsSubsetOf(Wintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L466">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_IsSubsetOf_" data-uid="Wintellect.PowerCollections.Set`1.IsSubsetOf*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_IsSubsetOf_Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.IsSubsetOf(Wintellect.PowerCollections.Set{`0})">IsSubsetOf(Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Determines if this set is a subset of another set. Neither set is modified.
This set is a subset of <code data-dev-comment-type="paramref" class="paramref">otherSet</code> if every element in this set
is also in <code data-dev-comment-type="paramref" class="paramref">otherSet</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsSubsetOf(Set&lt;T&gt; otherSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">otherSet</span></td>
        <td><p>Set to compare to.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if this is a subset of <code data-dev-comment-type="paramref" class="paramref">otherSet</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_IsSubsetOf_Wintellect_PowerCollections_Set__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>IsSubsetOf is computed in time O(N), where N is the size of the this set.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>This set and <code data-dev-comment-type="paramref" class="paramref">otherSet</code> don't use the same method for comparing items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_IsSupersetOf_Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.IsSupersetOf(Wintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L419">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_IsSupersetOf_" data-uid="Wintellect.PowerCollections.Set`1.IsSupersetOf*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_IsSupersetOf_Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.IsSupersetOf(Wintellect.PowerCollections.Set{`0})">IsSupersetOf(Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Determines if this set is a superset of another set. Neither set is modified.
This set is a superset of <code data-dev-comment-type="paramref" class="paramref">otherSet</code> if every element in
<code data-dev-comment-type="paramref" class="paramref">otherSet</code> is also in this set.
<remarks>IsSupersetOf is computed in time O(M), where M is the size of the
<code data-dev-comment-type="paramref" class="paramref">otherSet</code>.</remarks></p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool IsSupersetOf(Set&lt;T&gt; otherSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">otherSet</span></td>
        <td><p>Set to compare to.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if this is a superset of <code data-dev-comment-type="paramref" class="paramref">otherSet</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>This set and <code data-dev-comment-type="paramref" class="paramref">otherSet</code> don't use the same method for comparing items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_Remove__0_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.Remove(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L337">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_Remove_" data-uid="Wintellect.PowerCollections.Set`1.Remove*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_Remove__0_" data-uid="Wintellect.PowerCollections.Set`1.Remove(`0)">Remove(T)</h4>
  <div class="markdown level1 summary"><p>Searches the set for an item equal to <code data-dev-comment-type="paramref" class="paramref">item</code>, and if found,
removes it from the set. If not found, the set is unchanged.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public override sealed bool Remove(T item)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">item</span></td>
        <td><p>The item to remove.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if <code data-dev-comment-type="paramref" class="paramref">item</code> was found and removed. False if <code data-dev-comment-type="paramref" class="paramref">item</code> was not in the set.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="overrides">Overrides</h5>
  <div><span class="xref">Wintellect.PowerCollections.CollectionBase&lt;T&gt;.Remove(T)</span></div>
  <h5 id="Wintellect_PowerCollections_Set_1_Remove__0__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Equality between items is determined by the comparison instance or delegate used
to create the set.</p>
<p>Removing an item from the set takes approximately constant time, regardless of the size of the set.</p>
</div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_RemoveMany_System_Collections_Generic_IEnumerable__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.RemoveMany(System.Collections.Generic.IEnumerable%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L354">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_RemoveMany_" data-uid="Wintellect.PowerCollections.Set`1.RemoveMany*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_RemoveMany_System_Collections_Generic_IEnumerable__0__" data-uid="Wintellect.PowerCollections.Set`1.RemoveMany(System.Collections.Generic.IEnumerable{`0})">RemoveMany(IEnumerable&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Removes all the items in <code data-dev-comment-type="paramref" class="paramref">collection</code> from the set.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public int RemoveMany(IEnumerable&lt;T&gt; collection)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Collections.Generic.IEnumerable</span>&lt;T&gt;</td>
        <td><span class="parametername">collection</span></td>
        <td><p>A collection of items to remove from the set.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Int32</span></td>
        <td><p>The number of items removed from the set.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_RemoveMany_System_Collections_Generic_IEnumerable__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Equality between items is determined by the comparison instance or delegate used
to create the set.</p>
<p>Removing the collection takes time O(M), where M is the 
number of items in <code data-dev-comment-type="paramref" class="paramref">collection</code>.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.ArgumentNullException</span></td>
        <td><p><code data-dev-comment-type="paramref" class="paramref">collection</code> is null.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_SymmetricDifference_Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.SymmetricDifference(Wintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L783">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_SymmetricDifference_" data-uid="Wintellect.PowerCollections.Set`1.SymmetricDifference*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_SymmetricDifference_Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.SymmetricDifference(Wintellect.PowerCollections.Set{`0})">SymmetricDifference(Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Computes the symmetric difference of this set with another set. The symmetric difference of two sets
is all items that appear in either of the sets, but not both. A new set is
created with the symmetric difference of the sets and is returned. This set and the other set
are unchanged.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public Set&lt;T&gt; SymmetricDifference(Set&lt;T&gt; otherSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">otherSet</span></td>
        <td><p>Set to symmetric difference with.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><p>The symmetric difference of the two sets.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_SymmetricDifference_Wintellect_PowerCollections_Set__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>The symmetric difference of two sets is computed in time O(N), where N is the size of the smaller set.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>This set and <code data-dev-comment-type="paramref" class="paramref">otherSet</code> don't use the same method for comparing items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_SymmetricDifferenceWith_Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.SymmetricDifferenceWith(Wintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L736">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_SymmetricDifferenceWith_" data-uid="Wintellect.PowerCollections.Set`1.SymmetricDifferenceWith*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_SymmetricDifferenceWith_Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.SymmetricDifferenceWith(Wintellect.PowerCollections.Set{`0})">SymmetricDifferenceWith(Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Computes the symmetric difference of this set with another set. The symmetric difference of two sets
is all items that appear in either of the sets, but not both. This set receives
the symmetric difference of the two sets; the other set is unchanged.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void SymmetricDifferenceWith(Set&lt;T&gt; otherSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">otherSet</span></td>
        <td><p>Set to symmetric difference with.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_SymmetricDifferenceWith_Wintellect_PowerCollections_Set__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>The symmetric difference of two sets is computed in time O(N), where N is the size of the smaller set.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>This set and <code data-dev-comment-type="paramref" class="paramref">otherSet</code> don't use the same method for comparing items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_TryGetItem__0__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.TryGetItem(%600%2C%600%40)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L258">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_TryGetItem_" data-uid="Wintellect.PowerCollections.Set`1.TryGetItem*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_TryGetItem__0__0__" data-uid="Wintellect.PowerCollections.Set`1.TryGetItem(`0,`0@)">TryGetItem(T, out T)</h4>
  <div class="markdown level1 summary"><p>Determines if this set contains an item equal to <code data-dev-comment-type="paramref" class="paramref">item</code>, according to the 
comparison mechanism that was used when the set was created. The set
is not changed.</p>
<p>If the set does contain an item equal to <code data-dev-comment-type="paramref" class="paramref">item</code>, then the item from the set is returned.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public bool TryGetItem(T item, out T foundItem)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">item</span></td>
        <td><p>The item to search for.</p>
</td>
      </tr>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">foundItem</span></td>
        <td><p>Returns the item from the set that was equal to <code data-dev-comment-type="paramref" class="paramref">item</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Boolean</span></td>
        <td><p>True if the set contains <code data-dev-comment-type="paramref" class="paramref">item</code>. False if the set does not contain <code data-dev-comment-type="paramref" class="paramref">item</code>.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_TryGetItem__0__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Searching the set for an item takes approximately constant time, regardless of the number of items in the set.</p>
</div>
  <h5 id="Wintellect_PowerCollections_Set_1_TryGetItem__0__0___examples">Examples</h5>
  <p>In the following example, the set contains strings which are compared in a case-insensitive manner.</p>
<pre><code>Set&lt;string> set = new Set&lt;string>(StringComparer.CurrentCultureIgnoreCase);
set.Add(&quot;HELLO&quot;);
string s;
bool b = set.TryGetItem(&quot;Hello&quot;, out s);   // b receives true, s receives &quot;HELLO&quot;.</code></pre>

  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_Union_Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.Union(Wintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L580">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_Union_" data-uid="Wintellect.PowerCollections.Set`1.Union*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_Union_Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.Union(Wintellect.PowerCollections.Set{`0})">Union(Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Computes the union of this set with another set. The union of two sets
is all items that appear in either or both of the sets. A new set is
created with the union of the sets and is returned. This set and the other set
are unchanged.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public Set&lt;T&gt; Union(Set&lt;T&gt; otherSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">otherSet</span></td>
        <td><p>Set to union with.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><p>The union of the two sets.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_Union_Wintellect_PowerCollections_Set__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>If equal items appear in both sets, the union will include an arbitrary choice of one of the
two equal items.</p>
<p>The union of two sets is computed in time O(M + N), where M is the size of the 
one set, and N is the size of the other set.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>This set and <code data-dev-comment-type="paramref" class="paramref">otherSet</code> don't use the same method for comparing items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_UnionWith_Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.UnionWith(Wintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L558">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_UnionWith_" data-uid="Wintellect.PowerCollections.Set`1.UnionWith*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_UnionWith_Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.UnionWith(Wintellect.PowerCollections.Set{`0})">UnionWith(Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"><p>Computes the union of this set with another set. The union of two sets
is all items that appear in either or both of the sets. This set receives
the union of the two sets, the other set is unchanged.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public void UnionWith(Set&lt;T&gt; otherSet)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">otherSet</span></td>
        <td><p>Set to union with.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_UnionWith_Wintellect_PowerCollections_Set__0___remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>If equal items appear in both sets, the union will include an arbitrary choice of one of the
two equal items.</p>
<p>The union of two sets is computed in time O(M + N), where M is the size of the 
larger set, and N is the size of the smaller set.</p>
</div>
  <h5 class="exceptions">Exceptions</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Condition</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.InvalidOperationException</span></td>
        <td><p>This set and <code data-dev-comment-type="paramref" class="paramref">otherSet</code> don't use the same method for comparing items.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h3 id="operators">Operators
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_op_Addition_Wintellect_PowerCollections_Set__0___0_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.op_Addition(Wintellect.PowerCollections.Set%7B%600%7D%2C%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L834">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_op_Addition_" data-uid="Wintellect.PowerCollections.Set`1.op_Addition*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_op_Addition_Wintellect_PowerCollections_Set__0___0_" data-uid="Wintellect.PowerCollections.Set`1.op_Addition(Wintellect.PowerCollections.Set{`0},`0)">Addition(Set&lt;T&gt;, T)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static Set&lt;T&gt; operator +(Set&lt;T&gt; t1, T t2)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">t1</span></td>
        <td></td>
      </tr>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">t2</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_op_Addition_Wintellect_PowerCollections_Set__0__Wintellect_PowerCollections_Set__0__.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.op_Addition(Wintellect.PowerCollections.Set%7B%600%7D%2CWintellect.PowerCollections.Set%7B%600%7D)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L830">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_op_Addition_" data-uid="Wintellect.PowerCollections.Set`1.op_Addition*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_op_Addition_Wintellect_PowerCollections_Set__0__Wintellect_PowerCollections_Set__0__" data-uid="Wintellect.PowerCollections.Set`1.op_Addition(Wintellect.PowerCollections.Set{`0},Wintellect.PowerCollections.Set{`0})">Addition(Set&lt;T&gt;, Set&lt;T&gt;)</h4>
  <div class="markdown level1 summary"></div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">public static Set&lt;T&gt; operator +(Set&lt;T&gt; t1, Set&lt;T&gt; t2)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">t1</span></td>
        <td></td>
      </tr>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td><span class="parametername">t2</span></td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><a class="xref" href="Wintellect.PowerCollections.Set-1.html">Set</a>&lt;T&gt;</td>
        <td></td>
      </tr>
    </tbody>
  </table>
  <h3 id="eii">Explicit Interface Implementations
  </h3>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_System_Collections_Generic_ICollection_T__Add__0_.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.System%23Collections%23Generic%23ICollection%7BT%7D%23Add(%600)%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L295">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_System_Collections_Generic_ICollection_T__Add_" data-uid="Wintellect.PowerCollections.Set`1.System#Collections#Generic#ICollection{T}#Add*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_System_Collections_Generic_ICollection_T__Add__0_" data-uid="Wintellect.PowerCollections.Set`1.System#Collections#Generic#ICollection{T}#Add(`0)">ICollection&lt;T&gt;.Add(T)</h4>
  <div class="markdown level1 summary"><p>Adds a new item to the set. If the set already contains an item equal to
<code data-dev-comment-type="paramref" class="paramref">item</code>, that item is replaced with <code data-dev-comment-type="paramref" class="paramref">item</code>.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">void ICollection&lt;T&gt;.Add(T item)</code></pre>
  </div>
  <h5 class="parameters">Parameters</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Name</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">T</span></td>
        <td><span class="parametername">item</span></td>
        <td><p>The item to add to the set.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_System_Collections_Generic_ICollection_T__Add__0__remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Equality between items is determined by the comparison instance or delegate used
to create the set.</p>
<p>Adding an item takes approximately constant time, regardless of the number of items in the set.</p>
</div>
  <span class="small pull-right mobile-hide">
    <span class="divider">|</span>
    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1_System_ICloneable_Clone.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601.System%23ICloneable%23Clone%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A">Improve this Doc</a>
  </span>
  <span class="small pull-right mobile-hide">
    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L112">View Source</a>
  </span>
  <a id="Wintellect_PowerCollections_Set_1_System_ICloneable_Clone_" data-uid="Wintellect.PowerCollections.Set`1.System#ICloneable#Clone*"></a>
  <h4 id="Wintellect_PowerCollections_Set_1_System_ICloneable_Clone" data-uid="Wintellect.PowerCollections.Set`1.System#ICloneable#Clone">ICloneable.Clone()</h4>
  <div class="markdown level1 summary"><p>Makes a shallow clone of this set; i.e., if items of the
set are reference types, then they are not cloned. If T is a value type,
then each element is copied as if by simple assignment.</p>
</div>
  <div class="markdown level1 conceptual"></div>
  <h5 class="decalaration">Declaration</h5>
  <div class="codewrapper">
    <pre><code class="lang-csharp hljs">object ICloneable.Clone()</code></pre>
  </div>
  <h5 class="returns">Returns</h5>
  <table class="table table-bordered table-striped table-condensed">
    <thead>
      <tr>
        <th>Type</th>
        <th>Description</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td><span class="xref">System.Object</span></td>
        <td><p>The cloned set.</p>
</td>
      </tr>
    </tbody>
  </table>
  <h5 id="Wintellect_PowerCollections_Set_1_System_ICloneable_Clone_remarks">Remarks</h5>
  <div class="markdown level1 remarks"><p>Cloning the set takes time O(N), where N is the number of items in the set.</p>
</div>
  <h3 id="implements">Implements</h3>
  <div>
      <span class="xref">System.Collections.ICollection</span>
  </div>
  <div>
      <span class="xref">System.Collections.Generic.ICollection&lt;T&gt;</span>
  </div>
  <div>
      <span class="xref">System.Collections.Generic.IEnumerable&lt;T&gt;</span>
  </div>
  <div>
      <span class="xref">System.Collections.IEnumerable</span>
  </div>
  <div>
      <span class="xref">System.ICloneable</span>
  </div>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/new/master/apiSpec/new?filename=Wintellect_PowerCollections_Set_1.md&amp;value=---%0Auid%3A%20Wintellect.PowerCollections.Set%601%0Asummary%3A%20'*You%20can%20override%20summary%20for%20the%20API%20here%20using%20*MARKDOWN*%20syntax'%0A---%0A%0A*Please%20type%20below%20more%20information%20about%20this%20API%3A*%0A%0A" class="contribution-link">Improve this Doc</a>
                  </li>
                  <li>
                    <a href="https://github.com/SOFAgh/CADability/blob/master/CADability/Set.cs/#L26" class="contribution-link">View Source</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
                <h5>In This Article</h5>
                <div></div>
              </nav>
            </div>
          </div>
        </div>
      </div>
      
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            
            <span>Generated by <strong>DocFX</strong></span>
          </div>
        </div>
      </footer>
    </div>
    
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
  </body>
</html>
